尚硅谷 韩顺平
1 | 本课程是使用Java来讲解数据结构和算法,考虑到数据结构和算法较难,授课采用图解加算法游戏的方式. 内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、八皇后问题、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)等 |

1 稀疏数组








1.1 原始二维数组转为稀疏数组
遍历原始的二维数组 得到非0的数字sum个
根据sum 创建稀疏数组sparseArr int [sum+1] [3]
将二维数组非0 的数字存到稀疏数组里面
1 | package DataStructure.SparseArray; |
1.2稀疏数组转二维数组
先读取稀疏数组的第一行 根据第一行的数据 创建原始的二维数组
在读取稀疏数组后几行的数据 并赋给原始的二维数组
1 | //1 先读取稀疏数组的第一行 根据第一行的数据 创建原始的二维数组 |
2 队列的应用场景和介绍



快速排序



1 |
1 |

1 | package Day01; |
归并排序




1 | package Day01; |
马士兵 归并排序
1 | package sortdemo; |
1 | package sortdemo; |
冒泡排序



1 | public class BubbleSort { |
选择排序




1 | package Day01; |